home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Essentials / MacApp Documentation / MacApp.TECH$ Archives / 1990 / Jan 90 / MacApp.Tech$ 1⁄26⁄90 / 0505-'ckid' resource form-Jan90 < prev    next >
Encoding:
Text File  |  1991-03-06  |  3.1 KB  |  106 lines  |  [TEXT/GEOL]

  1. Item    3371103                         23-Jan-90        05:44
  2.  
  3. From:   MOOF                            Rollin, Keith A
  4.  
  5. To:     MACAPP.TECH$                    MacApp Technical
  6.  
  7. Sub:    'ckid' resource format
  8.  
  9. Hubi, fubolks:
  10.  
  11. Several people have requested this. So here, without much fanfare, is the .r
  12. file for handling the 'ckid' resource from MPW's projector.
  13.  
  14. Of particular interest should be the fourth and sixth fields. If the fourth
  15. field is non-zero, then the file is checked out for modifications. If the it is
  16. zero and the sixth field is also zero, then the file is checked out read-only.
  17. If the fourth field is zero and the sixth field is non-zero, then that means
  18. someone has executed "ModifyReadOnly" on that file.
  19.  
  20. In other words (or charts):
  21.  
  22.                    6th field
  23.                 =0          <>0
  24. 4th field +----------------------------
  25.     =0    | read-only   modifyReadOnly
  26.     <>0   | modifiable      ???
  27.  
  28.  
  29. Miscellaneous:
  30. --------------
  31. I don't know what the LOC field means.
  32.  
  33. The "branch" field (field 5) holds the letter of this branch (i.e., 'a', 'b',
  34. 'c', etc.). It holds zero if this revision is on the main branch.
  35.  
  36. PID is the Project ID. Part 'a' is the time in seconds when the project was
  37. created. Part 'b' is the tickcount when the project was created. Hopefully,
  38. this will be sufficient to generate unique PID's for every project ever
  39. created.
  40.  
  41. The 'pstring' and 'wstring' fields below are variable length fields ('pstring'
  42. is a string preceded by a length BYTE. 'wstring' is a string preceded by a
  43. length WORD). This means that you cannot directly represent this resource with
  44. a RECORD or struct in Pascal or C.
  45.  
  46. This resource is for your application’s INFORMATION only. Please do not try to
  47. write to this resource, or create one of your own.
  48.  
  49.  
  50.  
  51. Hope this helps,
  52.  
  53. - Keith Rollin
  54. - Apple Developer Technical Support
  55.  
  56.  
  57.  
  58.  
  59. File 'ckid.r'
  60.  
  61. /*******-----------------------------------------------------------------------
  62.    NAME
  63.    ckid.r - resource definition of the 'CKID' resource
  64.  
  65.    AUTHOR
  66.    Peter Potrebic
  67.    Copyright Apple Computer, Inc. 1987,1988
  68.    All Rights Reserved
  69. -----------------------------------------------------------------------*******/
  70.  
  71.  
  72. type 'ckid'
  73.    {
  74.    unsigned longint;   /* checksum */
  75.    unsigned longint LOC = 1071985200;  /* location identifier */
  76.    integer version = 4;/* ckid version number */
  77.    integer readOnly = 0;   /* Check out state, if != 0 it is the dummy revID */
  78.    Byte noBranch = 0;  /* if modifiable & Byte != 0 then branch was made on
  79. check out */
  80.    Byte clean = 0, MODIFIED = 1;   /* did user modify a read-only file */
  81.    unsigned longint UNUSED;/* not used */
  82.    unsigned longint;   /* date and time of checkout */
  83.    unsigned longint;   /* mod date of file */
  84.  
  85.    unsigned longint;   /* PID.a */
  86.    unsigned longint;   /* PID.b */
  87.  
  88.    integer;/* user ID */
  89.    integer;/* file ID */
  90.    integer;/* rev ID */
  91.  
  92.    pstring;/* Project path */
  93.    Byte = 0;
  94.    pstring;/* User name */
  95.    Byte = 0;
  96.    pstring;/* Revision number */
  97.    Byte = 0;
  98.    pstring;/* File name */
  99.    Byte = 0;
  100.    pstring;/* task */
  101.    Byte = 0;
  102.    wstring;/* comment */
  103.    Byte = 0;
  104.    };
  105.  
  106.